#pragma once


/* 用于对齐 */

#include <metalc/base/mlayer.h>


/* 对齐模块的用处?使大小对齐到align */

DECL_MLAYER_FUNC(align)

/* 占用的tls对象指针个数 */
DEF_MLAYER_OBJNR(align, 0)

SAI void align_pinit(const mlfunc_t * cont){
	INFO("align pinit\n");
}
SAI void align_tinit(const mlfunc_t * cont){
	INFO("align tinit\n");
}
SAI void *align_alloc(mreq_t *req, const mlfunc_t * cont){
	if (req->align != 0) req->size = align_up(req->size, req->align);
	return cont->lalloc(req);
}
SAI bool_t align_free(mreq_t *req, const mlfunc_t * cont){
	return cont->lfree(req);
}
SAI size_t align_sizeof(mreq_t *req, const mlfunc_t * cont){
	return cont->lsizeof(req);
}




